Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Особливості програмування з використанням 32-розрядного Асемблера

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування та операційні системи

Частина тексту файла

Міністерство освіти і науки Національний університет “Львівська політехніка” Кафедра ЕОМ / Звіт з лабораторної роботи № 1 з дисципліни: “Системне програмування” на тему: “Особливості програмування з використанням 32-розрядного Асемблера” Мета лабораторної роботи Ознайомитись з програмною моделлю 32-розрядних мікропроцесорів Intel та оволодіти навиками створення програм, використовуючи 32-розрядний Асемблер. Теоретичні відомості Основою для розробки низькорівневого системного програмного забезпечення є програмна модель комп’ютера, частиною якої є програмна модель мікропроцесора. До складу програмної моделі мікропроцесорів Intel сімейства x86 входять 32 регістри в тій чи іншій мірі доступні для використання програмістом. Дані регістри можна розділити на дві великі групи: 16 регістрів користувача; 16 системних регістрів. У програмах на мові асемблера регістри використовуються дуже інтенсивно. Більшість регістрів мають певне функціональне призначення. Індивідуальне завдання 1. Створити, використовуючи мову асемблера мікропроцесорів сімейства x86 Intel, *.exe програму, яка реалізовує обчислення, заданого варіантом виразу. A = {a[i]} – наперед заданий масив з N чисел цілих чисел. c, d – цілі константи. K, L – цілі додатні числа. 2. Переконатися у правильності роботи програми використовуючи VKDebug. 3. Скласти звіт про виконану роботу з приведенням тексту програми. 4. Дати відповідь на контрольні запитання. 29. Знайти суму елементів масиву A за умови a[i] >= c/d   Код програми .686 ; 32-бітний режим .model flat, stdcall ; використати плоску модель пам'яті і узгодження імен stdcall option casemap: none ; нерозрізнення великих і малих символів ; оголошення службових процедур, макросів, змінних, констант include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\masm32.inc include \masm32\include\debug.inc include \masm32\include\user32.inc ; підключення службових бібліотек includelib \masm32\lib\kernel32.lib includelib \masm32\lib\masm32.lib includelib \masm32\lib\debug.lib includelib \masm32\lib\user32.lib .data arr dd -1, -4, 2, 1 n dd 4 ; number of elements in the array ConstC dd 6 ConstD dd -2 sum dd 0 ; result .code program: mov eax, ConstC mov edx, 0 idiv ConstD ; eax = c/d PrintDec eax, "c/d" ; print c/d in VKdebug mov ecx, 0 test_arr: mov edx, arr[ecx * 4] PrintDec edx, "arr[i]" ; print arr[i] in VKdebug cmp arr[ecx * 4], eax jl increment ; if (arr[i] < c/d) goto increment (skip addition) add sum, edx PrintDec sum ; print sum in VKdebug increment: inc ecx cmp ecx, n jl test_arr ; if (ecx < n) goto test_arr invoke ExitProcess, NULL ; виклик процедури завершення процесу end program Результат виконання програми –1 + 2 + 1 = 2 / Висновок Я ознайомився з програмною моделлю 32-розрядних мікропроцесорів Intel та оволодів навиками створення програм, використовуючи 32-розрядний Асемблер.
Антиботан аватар за замовчуванням

07.05.2017 14:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини